home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / Makefile < prev    next >
Encoding:
Makefile  |  1990-02-06  |  7.1 KB  |  240 lines

  1. #
  2. ###########################################################################
  3. #    INSTALLING KAOS WITH MAKEFILE
  4. ############################################################################
  5. #     If you have not defined environmental variables
  6. #    ${KAOSHOME} and ${KAOSUSERHOME} yet in ".login" and ".cshrc", do so now.
  7. #    If you have not used "kaos_install", do so now.
  8. #
  9. # (1)    Note that a default directory for the user-customized kaos ("kaos_u") is
  10. #     set to ${HOME}/kaos. 
  11. #    If you want to install "kaos_u" in another directory, 
  12. #    edit the variable KAOS_USER_HOME below.
  13. #
  14. # (2)    To make all executables, type
  15. #    either "make all" (if you are installing kaos from scratch)
  16. #    or "make all_u" (if kaos is already installed on the system and you
  17. #        want to make a local version of it with new dynamical systems.)
  18. #
  19. #     To make the main program only, type
  20. #     either "make kaos",
  21. #    or "make kaos_u".
  22. #
  23. #    To make a batch program only, type
  24. #    either "make kaos_batch"
  25. #    or "make kaos_batch_u"
  26. #
  27.  
  28. KAOS_SHARE_HOME = ${KAOSHOME}
  29. KAOS_USER_HOME = ${HOME}/kaos
  30. KAOS_MAN_DEST = /usr/man/manl
  31. KAOS_BINSRC_HOME = ${KAOS_SHARE_HOME}/binsrclib
  32. KAOS_COMPANION_HOME = ${KAOS_SHARE_HOME}/companionlib
  33.  
  34. KAOS_SHARE_MAIN = kaos
  35. KAOS_USER_MAIN = kaos_u
  36. KAOS_SHARE_BATCH = kaos_batch
  37. KAOS_USER_BATCH = kaos_batch_u
  38. KAOS_MAN_HOME = ${KAOS_SHARE_HOME}/doc/kaos.1
  39.  
  40. MATHLIBS = -lm
  41. WINLIBS = -lsuntool -lsunwindow -lpixrect
  42. CFLAGS = -sun4 -O
  43.  
  44. KAOS_SHARE_HEADERS = \
  45. ${KAOS_SHARE_HOME}/include/kaos.h \
  46. ${KAOS_SHARE_HOME}/include/sunos_kaos_def.h \
  47. ${KAOS_SHARE_HOME}/include/main_kaos_def.h \
  48. ${KAOS_SHARE_HOME}/modellib/class_kaos_def.h \
  49. ${KAOS_SHARE_HOME}/modellib/class_kaos_init.h \
  50. ${KAOS_SHARE_HOME}/include/main_kaos_init.h \
  51. ${KAOS_SHARE_HOME}/include/sunview_kaos_init.h
  52.  
  53. KAOS_USER_HEADERS = ${KAOS_SHARE_HEADERS}
  54.  
  55. MODELLIB = ${KAOS_SHARE_HOME}/modellib/modellib.a
  56. COMPLIB = ${KAOS_SHARE_HOME}/complib/complib.a
  57. SUNMAINLIB = ${KAOS_SHARE_HOME}/sunmainlib/sunmainlib.a
  58. INTLIB = ${KAOS_SHARE_HOME}/intlib/intlib.a
  59. FIXPTLIB = ${KAOS_SHARE_HOME}/fixptlib/fixptlib.a
  60. EIGENLIB = ${KAOS_SHARE_HOME}/eigenlib/eigenlib.a
  61. SYMBOLLIB = ${KAOS_SHARE_HOME}/symbollib/symbollib.a
  62. AUXLIB = ${KAOS_SHARE_HOME}/auxlib/auxlib.a
  63. PRINTLIB = ${KAOS_SHARE_HOME}/printlib/printlib.a
  64. EXECLIB = ${KAOS_SHARE_HOME}/execlib/execlib.a
  65. AUTOLIB = ${KAOS_SHARE_HOME}/autolib/autolib.a
  66. GRAPHLIB = ${KAOS_SHARE_HOME}/graphlib/graphlib.a
  67. TSERLIB = ${KAOS_SHARE_HOME}/tserlib/tserlib.a
  68. FFTLIB = ${KAOS_SHARE_HOME}/fftlib/fftlib.a
  69. LYAPLIB = ${KAOS_SHARE_HOME}/lyaplib/lyaplib.a
  70. DIMSLIB = ${KAOS_SHARE_HOME}/dimslib/dimslib.a
  71. SCANLIB = ${KAOS_SHARE_HOME}/scanlib/scanlib.a
  72. HELPLIB = ${KAOS_SHARE_HOME}/helplib/helplib.a
  73. BATCHLIB = ${KAOS_SHARE_HOME}/batchlib/batchlib.a
  74.  
  75. SHARE_USERLIB = ${KAOS_SHARE_HOME}/userlib/userlib.a
  76. USER_USERLIB = ${KAOS_USER_HOME}/userlib/userlib.a
  77. DEPENDENCY = \
  78. ${KAOS_SHARE_HOME}/sunmainlib/load_param.o \
  79. ${KAOS_SHARE_HOME}/sunmainlib/save_param.o \
  80. ${KAOS_SHARE_HOME}/fixptlib/fmapi_user.o \
  81. ${KAOS_SHARE_HOME}/fixptlib/fmap_user.o \
  82. ${KAOS_SHARE_HOME}/fixptlib/usrfuni.o\
  83. ${KAOS_SHARE_HOME}/sunmainlib/encode_color_symbol.o \
  84. ${KAOS_SHARE_HOME}/sunmainlib/dist_periodic.o\
  85. ${KAOS_SHARE_HOME}/complib/free_ivector.o \
  86. ${KAOS_SHARE_HOME}/complib/ludcmp.o \
  87. ${KAOS_SHARE_HOME}/complib/lubksb.o \
  88. ${KAOS_SHARE_HOME}/complib/ivector.o \
  89. ${KAOS_SHARE_HOME}/complib/free_svector.o \
  90. ${KAOS_SHARE_HOME}/sunmainlib/func_init.o \
  91. ${KAOS_SHARE_HOME}/sunmainlib/initialize_model.o
  92.  
  93. KAOS_SHARE_MAIN_SUBLIBS = \
  94. ${SUNMAINLIB} ${COMPLIB} ${MODELLIB} ${SYMBOLLIB} ${EXECLIB}\
  95. ${AUXLIB} ${INTLIB} ${FIXPTLIB} ${EIGENLIB} ${PRINTLIB} \
  96. ${AUTOLIB} ${TSERLIB} ${FFTLIB} ${LYAPLIB} ${DIMSLIB} \
  97. ${SCANLIB} ${GRAPHLIB} ${HELPLIB} ${SHARE_USERLIB}
  98.  
  99. KAOS_USER_MAIN_SUBLIBS = \
  100. ${SUNMAINLIB} ${COMPLIB} ${MODELLIB} ${SYMBOLLIB} ${EXECLIB} \
  101. ${AUXLIB} ${INTLIB} ${FIXPTLIB} ${EIGENLIB} ${PRINTLIB} \
  102. ${AUTOLIB} ${TSERLIB} ${FFTLIB} ${LYAPLIB} ${DIMSLIB} \
  103. ${SCANLIB} ${GRAPHLIB} ${HELPLIB} ${USER_USERLIB}
  104.  
  105. KAOS_SHARE_BATCH_SUBLIBS = \
  106. ${COMPLIB} ${BATCHLIB} ${SYMBOLLIB} ${MODELLIB} ${SHARE_USERLIB} ${DEPENDENCY}
  107.  
  108. KAOS_USER_BATCH_SUBLIBS = \
  109. ${COMPLIB} ${BATCHLIB} ${SYMBOLLIB} ${MODELLIB} ${USER_USERLIB} ${DEPENDENCY}
  110.  
  111. all:
  112.     make ${KAOS_SHARE_MAIN}
  113.     make ${KAOS_SHARE_BATCH}
  114.     cd ${KAOS_BINSRC_HOME}; make all; make install; cd ..
  115.     cd ${KAOS_COMPANION_HOME}; make all; cd ..   # mrm 2/6/90
  116.  
  117. all_u:
  118.     make ${KAOS_USER_MAIN}
  119.     make ${KAOS_USER_BATCH}
  120.  
  121. bin:
  122.     cd ${KAOS_BINSRC_HOME}; make all; make install; cd ..
  123.     
  124. companion:
  125.     cd ${KAOS_COMPANION_HOME}; make all; make install; cd ..
  126.     
  127. clean:
  128.     rm -f *.o
  129.     rm -f *lib/*.o
  130.     rm -f ,*.[ch]
  131.     rm -f *%
  132.     rm -f core a.out ${KAOS_SHARE_MAIN_SUBLIBS} ${KAOS_SHARE_BATCH_SUBLIBS}
  133.     rm -f fort.*
  134.  
  135. install:    ${KAOS_SHARE_MAIN} ${KAOS_MAN_HOME}
  136.     install -s -m 644 ${PROGRAM} ${KAOS_SHARE_HOME}
  137.     install -c -m 644 ${KAOS_MAN_HOME} ${KAOS_MAN_DEST}
  138.  
  139. install_u:    ${KAOS_USER_MAIN}
  140.     install -s -m 644 ${PROGRAM} ${KAOS_USER_HOME}
  141.  
  142. ${KAOS_MAN_HOME}:
  143.  
  144. # Creating a SCCS archive from modules
  145. #sccs_start:
  146. #    sccs create *.[ch] *lib/*.[c]
  147. #    rm -f ,*.[ch]
  148.  
  149. # edting all existing source modules (*.c *.h) possibily out of an archive
  150. #sccs_all:
  151. #    bin/rexec sccs edit
  152.  
  153. # inserting sccsid for all existing modules
  154. #sccs_sccsid:
  155. #    bin/rexec ${TOPDIR}/bin/sccsid
  156.  
  157. ${KAOS_SHARE_MAIN}:    ${KAOS_SHARE_HOME}/${KAOS_SHARE_MAIN}_main.o ${KAOS_SHARE_MAIN_SUBLIBS} ${KAOS_SHARE_HEADERS}
  158.     cc ${KAOS_SHARE_HOME}/${KAOS_SHARE_MAIN}_main.o ${KAOS_SHARE_MAIN_SUBLIBS} -o $@ ${CFLAGS} ${WINLIBS} ${MATHLIBS}
  159.  
  160. ${KAOS_USER_MAIN}:    ${KAOS_SHARE_HOME}/${KAOS_SHARE_MAIN}_main.o ${KAOS_USER_MAIN_SUBLIBS} ${KAOS_USER_HEADERS}
  161.     cc ${KAOS_SHARE_HOME}/${KAOS_SHARE_MAIN}_main.o ${KAOS_USER_MAIN_SUBLIBS} -o $@ ${CFLAGS} ${WINLIBS} ${MATHLIBS}
  162.  
  163. ${KAOS_SHARE_HOME}/${KAOS_SHARE_MAIN}_main.o:    ${KAOS_SHARE_HEADERS}
  164.     cc -c $*.c ${CFLAGS} ${MATHLIBS}
  165.  
  166. ${KAOS_SHARE_BATCH}: ${KAOS_SHARE_HOME}/${KAOS_SHARE_BATCH}.o ${KAOS_SHARE_BATCH_SUBLIBS} ${KAOS_SHARE_HEADERS}
  167.     cc ${KAOS_SHARE_HOME}/${KAOS_SHARE_BATCH}.o ${KAOS_SHARE_BATCH_SUBLIBS} -o $@ ${CFLAGS} ${WINLIBS} ${MATHLIBS}
  168.  
  169. ${KAOS_USER_BATCH}: ${KAOS_SHARE_HOME}/${KAOS_SHARE_BATCH}.o ${KAOS_USER_BATCH_SUBLIBS} ${KAOS_SHARE_HEADERS}
  170.     cc ${KAOS_SHARE_HOME}/${KAOS_SHARE_BATCH}.o ${KAOS_USER_BATCH_SUBLIBS} -o ${KAOS_SHARE_BATCH} ${CFLAGS} ${WINLIBS} ${MATHLIBS}
  171.  
  172. ${KAOS_SHARE_HEADERS}:    FORCE
  173.  
  174. ${KAOS_USER_HEADERS}:    FORCE
  175.  
  176. ${MODELLIB}:    FORCE
  177.     cd ${@D} ; ${MAKE} ${@F}
  178.  
  179. ${COMPLIB}:    FORCE
  180.     cd ${@D} ; ${MAKE} ${@F}
  181.  
  182. ${SUNMAINLIB}:    FORCE
  183.     cd ${@D} ; ${MAKE} ${@F}
  184.  
  185. ${AUXLIB}:    FORCE
  186.     cd ${@D} ; ${MAKE} ${@F}
  187.  
  188. ${INTLIB}:    FORCE
  189.     cd ${@D} ; ${MAKE} ${@F}
  190.  
  191. ${EXECLIB}:    FORCE
  192.     cd ${@D} ; ${MAKE} ${@F}
  193.  
  194. ${FIXPTLIB}:    FORCE
  195.     cd ${@D} ; ${MAKE} ${@F}
  196.  
  197. ${PRINTLIB}:    FORCE
  198.     cd ${@D} ; ${MAKE} ${@F}
  199.  
  200. ${SYMBOLLIB}:    FORCE
  201.     cd ${@D} ; ${MAKE} ${@F}
  202.  
  203. ${AUTOLIB}:    FORCE
  204.     cd ${@D} ; ${MAKE} ${@F}
  205.  
  206. ${TSERLIB}:    FORCE
  207.     cd ${@D} ; ${MAKE} ${@F}
  208.  
  209. ${FFTLIB}:    FORCE
  210.     cd ${@D} ; ${MAKE} ${@F}
  211.  
  212. ${LYAPLIB}:    FORCE
  213.     cd ${@D} ; ${MAKE} ${@F}
  214.  
  215. ${DIMSLIB}:    FORCE
  216.     cd ${@D} ; ${MAKE} ${@F}
  217.  
  218. ${SCANLIB}:    FORCE
  219.     cd ${@D} ; ${MAKE} ${@F}
  220.  
  221. ${GRAPHLIB}:    FORCE
  222.     cd ${@D} ; ${MAKE} ${@F}
  223.  
  224. ${HELPLIB}:    FORCE
  225.     cd ${@D} ; ${MAKE} ${@F}
  226.  
  227. ${EIGENLIB}:    FORCE
  228.     cd ${@D} ; ${MAKE} ${@F}
  229.  
  230. ${BATCHLIB}:    FORCE
  231.     cd ${@D} ; ${MAKE} ${@F}
  232.  
  233. ${SHARE_USERLIB}:    FORCE
  234.     cd ${@D} ; ${MAKE} ${@F}
  235.  
  236. ${USER_USERLIB}:    FORCE
  237.     cd ${@D} ; ${MAKE} ${@F}
  238.  
  239. FORCE:
  240.